// =====================================================================================
// 
//       Filename:  array.h
// 
//    Description:  
// 
//        Version:  1.0
//        Created:  07.10.2011 14:38:11
//       Revision:  none
//       Compiler:  g++
// 
//         Author:  Dmitriy Serdyuk (), serdyuk.dmitriy@gmail.com
//        Company:  
// 
// =====================================================================================

#ifndef ARRAY_H
#define ARRAY_H

#include <cstdio>

struct Array {
public:
    explicit Array(size_t size);

    Array &operator=(const Array &ar);
    Array(const Array &ar);

    ~Array();
    
    int get(size_t index) const;
    void set(size_t i, int v);

    void push_back(int i);

    size_t get_size() const;

private:
    int *myData;
    size_t mySize;
    
    size_t myMaxSize;

    void swap(Array& array);
};

#endif   // ----- #ifndef ARRAY_H -----

